#include <stdio.h>
#include <string.h>

#define MAX 20
void swap(char*, char*);

/**
 * 题目：字符串排序。
*/
int main(int argc, char const *argv[])
{
    char s1[MAX], s2[MAX], s3[MAX];

    printf("请输入3个字符串，每个字符串以回车结束:\n");

    // 使用 fgets 读取输入并去除换行符
    fgets(s1, sizeof(s1), stdin);
    s1[strcspn(s1, "\n")] = '\0';

    fgets(s2, sizeof(s2), stdin);
    s2[strcspn(s2, "\n")] = '\0';

    fgets(s3, sizeof(s3), stdin);
    s3[strcspn(s3, "\n")] = '\0';

    if(strcmp(s1, s2) > 0)
        swap(s1, s2);
    
    if(strcmp(s2, s3) > 0)
        swap(s2, s3);
    
    if(strcmp(s1, s2) > 0)
        swap(s1, s2);
    
    printf("排序后的结果：\n");
    printf("%s\n%s\n%s\n", s1, s2, s3);

    return 0;
}

void swap(char *c1, char *c2)
{
    char temp[MAX];
    strcpy(temp, c1);
    strcpy(c1, c2);
    strcpy(c2, temp);
}